\chapter{Introduction}

      \libit is a C library for information theory and signal processing.
      It extends the C language with vector, matrix, complex and function
      types, and provides some common source coding, channel coding and 
      signal processing tools.

      The goal of \libit is to provide easy to use yet efficient tools,
      and is mainly targeted at researchers and developpers in the
      fields of Communication and Compression. The syntax is
      purposedly close to that of other tools commonly used in these
      fields, such as \textsc{Matlab}, \textsc{Octave}, or
      \textsc{It++}. Therefore, experiments and applications can be developped,
      ported and modified simply, without requiring deep knowledge of
      the C language. Additional goals of the library include
      portability to many platforms and architecture, and ease of
      installation.

      Rather than trying to provide the very latest state-of-the-art techniques
      or a large panel of specific methods, this library aims at providing the
      most general and commonly used tools to build a communication chain,
      from signal processing and source coding to channel coding and
      transmission.

      Among these tools are some common source and channel models, modulation
      and quantization techniques, wavelet analysis, entropy coding, etc...
      As examples and to ensure the correctness of the algorithms with respect
      to published results, some test programs are also provided.

      All examples provided herein are small code snippets used to
      illustrate the document. They may not compile and run
      successfully.

      As the library is still under heavy development, it is only
      partially documented currently.
